<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>


        // all方法
        //    当所有的实例都成功    则返回成功的结果，返回的是数组作为res的结果
        //    当其中有失败的       谁先失败，就返回谁的结果作为res的结果   此方法在有失败有成功的时候无法确认哪些是成功的，哪些是失败的


        const p1 = new Promise((resolve , reject) => {
            setTimeout(()=>{
                const n = parseInt(Math.random() * 100) ;
                if(n % 2) {
                    resolve(n)
                } else {
                    reject(n + '第一次,')
                }
            })
        })

        const p2 = new Promise((resolve , reject) => {
            setTimeout(()=>{
                const n = parseInt(Math.random() * 100) ;
                if(n % 2) {
                    resolve(n)
                } else {
                    reject(n + '第二次,')
                }
            })
        })

        const p3 = new Promise((resolve , reject) => {
            setTimeout(()=>{
                const n = parseInt(Math.random() * 100) ;
                if(n % 2) {
                    resolve(n)
                } else {
                    reject(n + '第三次')
                }
            })
        })


        const res = Promise.all([p1 , p2 , p3]) ;
        res
        .then(data => {
            console.log(data);
        })
        .catch(err => {
            console.log(err);
        })

    </script>
    
</body>
</html>